/**
 * Copyright© 2003-2019 浙江汇信科技有限公司, All Rights Reserved. <br/>
 * 描述: TODO <br/>
 *
 * @author framework generator
 * @date 2022年03月02日
 * @version 2.0
 */
package com.icinfo.cloud.provider.punish.ucase.payment.mapper;

import com.icinfo.cloud.provider.punish.ucase.payment.dto.CasePaymentResultRecordQueryDto;
import com.icinfo.cloud.provider.punish.ucase.payment.dto.CasePaymentResultRecordSaveDto;
import com.icinfo.cloud.provider.punish.ucase.payment.dto.PaymentElectricInvoiceKeyInfoDto;
import com.icinfo.cloud.provider.punish.ucase.payment.model.CasePaymentResultRecord;
import com.icinfo.cloud.provider.punish.ucase.payment.vo.CasePaymentResultRecordVo;
import com.icinfo.framework.mybatis.mapper.common.Mapper;
import org.springframework.data.repository.query.Param;

import java.util.List;

/**
 * 描述: 案件缴款结果记录表 case_payment_result_record 对应的Mapper接口.<br>
 *
 * @author framework generator
 * @date 2022年03月02日
 */
public interface CasePaymentResultRecordMapper extends Mapper<CasePaymentResultRecord> {

    /**
     * 【V1.0.0】描述：获取案件缴款结果记录详情
     *
     * @param queryDto {@link CasePaymentResultRecordQueryDto}
     * @return {@link CasePaymentResultRecordVo} 案件缴款结果记录详情
     * @author xiangyuyu
     * @date 2022-03-02 15:23
     */
    CasePaymentResultRecordVo selectCasePaymentResultRecordDetail(@Param("queryDto") CasePaymentResultRecordQueryDto queryDto);

    /**
     * 描述：更新缴款结果处理后的信息
     *
     * @param dto {@link CasePaymentResultRecord}
     * @return int 更新成功记录数
     * @author xiangyuyu
     * @date 2022-07-06 19:41
     */
    int updatePaymentResultInfoAfterDeal(CasePaymentResultRecord dto);

    /**
     * 描述：获取需要获取电子发票的案件信息-一般程序
     *
     * @return List<PaymentElectricInvoiceKeyInfoDto> 需要获取电子发票的案件信息-一般程序
     * @author xiangyuyu
     * @date 2022/10/12
     * @since 1.4.2
     */
    List<PaymentElectricInvoiceKeyInfoDto> selectNeedReceiveInvoiceCaseInfoOrdinary();

    /**
     * 描述：获取需要获取电子发票的案件信息-简易程序
     *
     * @return List<PaymentElectricInvoiceKeyInfoDto> 需要获取电子发票的案件信息-简易程序
     * @author xiangyuyu
     * @date 2022/10/19
     * @since 1.4.2
     */
    List<PaymentElectricInvoiceKeyInfoDto> selectNeedReceiveInvoiceCaseInfoSimple();

    /**
     * 批量处理：缴款后，没有自动生成执行情况核查记录文书的问题
     * @param caseId
     * @return
     */
    List<CasePaymentResultRecordSaveDto> batchRebuildExecuteCheckDoc(@org.apache.ibatis.annotations.Param("caseId") String caseId);

}